#ifndef TEXTURE_H
#define TEXTURE_H

#include <iostream>
#include <map>
#include <GL/glew.h>

class Mesh;
class ShaderProgram;

class Texture {
    private:
        const char* name;
        GLuint id; // OpenGL id for texture buffer
        static std::map<std::string, Texture*> textures; //all previously loaded meshes;

    private:
        Texture(const char*);

    public:
        static Texture* load(const char*);
        virtual ~Texture();

        GLuint getId();
        std::string getName();
};

#endif // TEXTURE_H
